﻿// 3718. 插入乘号.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <vector>
using namespace std;
/*
https://www.acwing.com/problem/content/3721/


给定一个长度为 n的数字串，向里面插入 k个乘号，输出可以得到的最大结果。

输入格式
第一行输入两个整数 n,k。

第二行输入长度为 n的一个数字序列。

输出格式
输出可以得到的最大结果。

数据范围
1≤k<n≤10
输入样例：
4 2
1234
输出样例：
144
*/


int n, k;
int ans;

void calc(string s) {
	int l = 0, r = 0;
	vector<int> vi;
	while (l < s.size() && r < s.size()) {
		while (r < s.size() && s[r] != '*') r++;
		int t = atoi(s.substr(l, r - l + 1).c_str());
		vi.push_back(t);
		l = r + 1; r = l;
	}

	int curr = 1;
	for (int i = 0; i < vi.size(); i++) {
		curr = curr * vi[i];
	}
	ans = max(ans, curr);
	return;
}

void dfs(string s, int idx, int k) {
	cout << s << endl;
	if (idx > s.size()) return;
	if (k == 0) {
		calc(s);
		return;
	}

	string cp = s;
	for (int i = idx; i < s.size(); i++) {
		cp.insert(i, "*");
		dfs(cp, i + 2, k - 1);
		cp = s;
	}

	return;
}


int main()
{
	string s;
	cin >> n >> k >> s;

	dfs(s, 1, k);

	cout << ans << endl;
	return 0;
}

 